perm filename MUSPIP.MAC[COL,LCS] blob sn#104317 filedate 1974-05-25 generic text, type T, neo UTF8
	TITLE	COPY
	EXTERN	FNAM,FILBRK,ASTR
	INTERN	DEV
	DSKI=1
	DSKO=2
	IO=0
ERR:	HRRZ	ENT+3
	CAIE	17
	JRST	[
	OUTSTR	[ASCIZ/
?CAN'T WRITE MUSIC.MUS -- ERROR CODE /]
	IDIVI	12
	ADDI	60
	OUTCHR
	ADDI	1,60
	OUTCHR	1
	OUTSTR	[ASCIZ/?
/]
	EXIT]
	OUTSTR	[ASCIZ/
?MUSIC.MUS WILL BE FRAGMENTED  --  CONTINUING?
/]
	JRST	CONT
ENT:	BLOCK	12
LK1:	BLOCK	4
IBUF:	BLOCK	3
OBUF:	BLOCK	3
STRT:	RESET
	SETZM	ASTR
	OUTSTR	[ASCIZ/
*DSK:MUSIC.MUS←/]
	JSA	16,FILBRK
	SKIPN	FNAM
	JRST	ENTR
	INIT	DSKI,10
DEV:	0
	XWD	,IBUF
	JRST	[
	OUTSTR	[ASCIZ /?CAN'T GET INPUT DEVICE?/]
	EXIT]
	LOOKUP	DSKI,FNAM
	JRST	[
	OUTSTR	[ASCIZ /?CAN'T FIND?/]
	JRST	STRT]
ENTR:	MOVEI	1
	HPQ
	JFCL
	INIT	DSKO,10
	SIXBIT	/DSK/
	XWD	OBUF,
	JRST	[
	OUTSTR	[ASCIZ /?CAN'T GET OUTPUT DEVICE?/]
	EXIT]
	MOVE	[SIXBIT/MUSIC/]
	MOVEM	LK1
	MOVE	[SIXBIT/MUS/]
	MOVEM	LK1+1
	SETZM	LK1+2
	SETZM	LK1+3
	LOOKUP	DSKO,LK1
	JRST	NODEL
	SETZM	LK1
	RENAME	DSKO,LK1
	JRST	[
	OUTSTR	[ASCIZ/
?PROTECTION FAILURE ON MUSIC.MUS?
/]
	EXIT]
NODEL:	MOVEI	11
	MOVEM	ENT
	SETZM	ENT+1
	MOVE	[SIXBIT/MUSIC/]
	MOVEM	ENT+2
	MOVE	[SIXBIT/MUS/]
	MOVEM	ENT+3
	SETZM	ENT+4
	SETZM	ENT+5
	SETZM	ENT+6
	SETZM	ENT+7
	SETZM	ENT+10
	MOVEI	↑D1000
	MOVEM	ENT+11
	ENTER	DSKO,ENT
	JRST	ERR
CONT:	MOVEI
	HPQ
	JFCL
	SKIPN	FNAM
	JRST	CL4
LOOP:	SOSLE	IBUF+2
	JRST	I1
	IN	DSKI,
	JRST	I1
CL4:	CLOSE	DSKO,4
	EXIT
I1:	ILDB	IO,IBUF+1
	SOSLE	OBUF+2
	JRST	O1
	OUT	DSKO,
	JRST	O1
	HALT
O1:	IDPB	IO,OBUF+1
	JRST	LOOP
	END	STRT